Systems and methods for processing images with edge detection and snap-to feature

ABSTRACT

A method for creating image products includes the following steps. Image data and positional data corresponding to the image data are captured and processed to create geo-referenced images. Edge detection procedures are performed on the geo-referenced images to identify edges and produce geo-referenced, edge-detected images. The geo-referenced, edge-detected images are saved in a database. A user interface to view and interact with the geo-referenced image is also provided such that the user can consistently select the same Points of Interest between multiple interactions and multiple users.

CROSS-REFERENCE TO RELATED APPLICATIONS

Not Applicable.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable.

THE NAMES OF THE PARTIES TO A JOINT RESEARCH AGREEMENT

Not Applicable.

BACKGROUND OF THE INVENTION

1. Field of Invention

The inventive concepts disclosed and claimed herein relate generally todigital image processing and, more particularly, but not by way oflimitation, to finding and selecting points of interest on an edge ofinterest in a digital image.

2. Brief Description of Related Art

In the remote sensing/aerial imaging industry, imagery is used tocapture views of a geographic area to be able to measure objects andstructures within the images as well as to be able to determinegeographic locations of points within the image. Such imagery isdescribed in, for example, U.S. Patent Application Publication No.2008/0231700. Photogrammetry is the science of making measurements ofand between objects depicted within photographs, especially aerialphotographs. A person, or User, may interact with the image to selectPoints of Interest that may be used to perform other functions such as:determine distance between two points; determine the area outlined by aset of points; determine the volume of a 3-dimensional shape, or otherfunctions. Usually, the greatest error induced into the calculation ofthe function is the human error introduced by the User selecting thePoints of Interest. For example, if a measurement from a building to theedge of a curb is desired and the User selects a point that is close tothe edge of the building, but not the actual edge of the building, thenthe measurement will differ from the actual measurement by the distancethe User selected away from the building. In the projected image,several pixels could significantly impair the accuracy of themeasurement. Additionally, when multiple Users perform the samemeasurement, their results can differ significantly.

In light of the foregoing, there is a need for a system and process forallowing a User to select Points of Interest based on the edge elementsthat exist in a geo-referenced image, wherein the Points of Interest aredetermined without the error caused by human determination of theposition of the edge of an element in an image.

SUMMARY OF THE INVENTION

A method for creating image products includes the following steps. Imagedata and positional data corresponding to the image data are capturedand processed to create geo-referenced images. Edge detection proceduresare performed on the geo-referenced images to identify edges and producegeo-referenced, edge-detected images.

In one embodiment, a computerized system includes a computer system forstoring a database of captured oblique images with correspondinggeo-location data and corresponding detected edge data. The computersystem has computer executable logic that, when executed by a processor,causes the computer system to receive a selection of a geographic pointfrom a User, search the database to find images that contain theselected point, and make the images that contain the selected pointavailable to the User.

In another embodiment a method of providing images to a User includesthe following steps. A database stores captured oblique images havingcorresponding geo-location data and corresponding detected edge data. Aselection of a geographic point is received from a user and the databaseis then searched to find images that contain the selected geographicpoint. The images that contain the selected geographic point are thenmade available to the User.

In yet another embodiment a sequence of instructions is stored on atleast one non-transitory computer readable medium for running on acomputer system capable of displaying and navigating imagery. Thesequence of instructions includes instructions for causing the computersystem to display a pixel representation of a georeferenced,edge-detected image, wherein the pixel representation includes one ormore detected edges in the geo-referenced, edge-detected image;instructions for causing the computer system to allow the User to selectone of the one or more detected edges by moving a cursor over a regionof interest (which may be magnified), wherein the cursor is caused tosnap-to a selected detected edge when the cursor is within apredetermined distance from the selected detected edge; instructions forcausing the computer system to allow the User to accept the selecteddetected edge as an edge of interest; and instructions for causing thecomputer system to allow the User to determine and store one or morepoints of interest along the edge of interest.

In yet another embodiment, a system for preparing and utilizinggeo-referenced images includes one or more image and data filesaccessible by a computer system capable of displaying and navigatingdigital imagery, the image and data file including a plurality of imagefiles, detected edge information corresponding to the plurality of imagefiles, and positional data corresponding to the plurality of imagefiles; and image display and analysis software stored on anon-transitory computer readable medium and executable by the computersystem. The image display and analysis software causes the computersystem to allow a user to download and display, from the image and datafile, a pixel representation of an image having a plurality of detectededges within the image, and to select a detected edge within the pixelrepresentation by moving a cursor over the pixel representation, whereinthe cursor is caused to snap-to a selected detected edge when the cursoris within a predetermined distance from the selected detected edge. Theimage display and analysis software also causes the computer system toallow the user to accept the selected detected edge as an edge ofinterest; and to allow the user to determine and store one or morepoints of interest along the edge of interest.

Thus, utilizing (1) the technology known in the art; (2) theabove-referenced general description of the presently claimed anddisclosed inventive concept(s); and (3) the drawings and detaileddescription of the inventive concepts that follows, the advantages andnovelties of the presently claimed and disclosed inventive concept(s)are readily apparent to one of ordinary skill in the art.

BRIEF DESCRIPTION OF THE DRAWINGS

Like reference numerals in the figures represent and refer to the sameelement or function. Implementations of the disclosure may be betterunderstood when consideration is given to the following detaileddescription thereof. Such description makes reference to the annexedpictorial illustrations, schematics, graphs, drawings, and appendices.In the drawings:

FIG. 1 is a flow chart showing an exemplary process for selecting aPoint of Interest on an edge element in a digital photographic image.

FIG. 2 is a block diagram of an exemplary computer system in accordancewith the present disclosure.

FIG. 3 illustrates an exemplary selection of a region of interest on animage.

FIG. 4 illustrates an exemplary magnification of the region of intereston an image such that the magnified region of interest is a subset ofthe entire image and unmagnified surrounding areas are still visible tothe User.

FIG. 5 illustrates an exemplary image showing numerous detected edges.

FIG. 6 is a flow chart describing a User selection of an edge ofinterest in an embodiment of the invention.

FIG. 7 is a flow chart describing a User selection of a point ofinterest in an embodiment of the invention.

FIG. 8 illustrates an image showing a selected edge of interest andselected points of interest.

DETAILED DESCRIPTION OF THE INVENTION

Before explaining at least one embodiment of the inventive concepts(s)disclosed herein in detail, it is to be understood that the inventiveconcept(s) is not limited in its application to the details ofconstruction and the arrangement of the components or steps ormethodologies set forth in the following description or illustrated inthe drawings. The inventive concept(s) disclosed herein is capable ofother embodiments or of being practiced or carried out in various ways.Also, it is to be understood that the phraseology and terminologyemployed herein is for the purpose of description and should not beregarded as limiting.

In the following detailed description of embodiments of the disclosure,numerous specific details are set forth in order to provide a morethorough understanding of the disclosure. However, it will be apparentto one of ordinary skill in the art that the concepts within thedisclosure can be practiced without these specific details. In otherinstances, well-known features have not been described in detail toavoid unnecessarily complicating the description.

The inventive concept(s) disclosed herein is directed to methods andsystems of creating image products, wherein image data is captured,along with positional data corresponding to the image data. The imageand positional data are processed to create a plurality ofgeo-referenced images. In one embodiment disclosed herein, edgedetection procedures are performed on the plurality of geo-referencedimages to identify edges and produce geo-referenced, edge-detectedimages, which are saved in a database. A computer system storing such adatabase of captured oblique images having corresponding geo-locationdata and corresponding detected edge data, has computer executable logicthat when executed by a processor causes the computer system to receivea selection of a geographic point from a user, search the database tofind images that contain the selected point, and make the images thatcontain the selected point available to the user. Alternatively, thedatabase may store captured oblique images without the detected edgedata, and the edges within such images can be detected in real-time asthe user is viewing the image(s).

In one embodiment, a sequence of instructions is stored on at least onenon-transitory computer readable medium for running on a computer systemcapable of displaying and navigating imagery. Referring now to thedrawings, and in particular to FIG. 1, in general, a User downloads ageo-referenced image as in step 10. The sequence of instructionsoptionally includes instructions for locating and selecting auser-requested region of interest (ROI) from a downloaded geo-referencedimage as in step 12. Further instructions can be provided for magnifyingthe user-requested region of interest (ROI) to provide a magnifiedregion of interest (MROI) and for performing edge detection procedureson the region of interest (ROI) to provide a detected edge DE as in step14. However, detected edge data indicative of the detected edge DE canbe provided in the downloaded image. The detected edge DE can be eithera linear edge or a non-linear edge. In step 16, instructions cause thecursor to snap-to a detected edge (DE) when the User moves the cursorover the MROI and the cursor nears the DE. Further instructions allowthe User to determine points of interest (POI) on a selected DE as instep 18. It is known that accuracy of selection of a POI of an elementin a digital photographic image can be improved by magnifying the ROI sothat the User may select a point as close as humanly possible to theactual edge of the element. However, computerized edge detection is moreaccurate for determination of an edge of an element and it providesconsistency between multiple Users and interactions with the image. Ithas been discovered that by combining magnification of the ROI with edgedetection, ED, and a snap-to utility for the cursor to snap to thedetected edge, one can obtain synergistic improvements in the accuracy,precision and consistency of measurements of and between objectsdepicted within the digital photographic image as in step 20.

Referring now to FIG. 2, the User preferably interacts with a firstcomputer system 21 to view and download one or more geo-referencedimages to a second computer system 22 (although the geo-referencedimages can be stored locally). The first and second computer system 21and 22 can be a stand-alone computer, one or more computing device(s)and/or a distributed computing system. The stand-alone computer can be apersonal computer such as a conventional desktop personal computer,laptop computer or tablet, or a mobile computer terminal. The secondcomputer system 22 preferably includes one or more processor 23,communication connections 24, input devices 26 a and 26 b, outputdevices 28 a and 28 b including a display device 28 a, and at least onecomputer readable medium 30 a and 30 b. The first computer system 21 canbe constructed in a similar manner as the second computer system 22.While the geo-referenced image is often provided by downloading from anInternet site, the geo-referenced image can be provided by accessing anysource of data files having image files and positional datacorresponding to the images. Image-capturing and geo-locating systemscan include image capturing devices, such as, for example, conventionalcameras, digital cameras, digital sensors, charge-coupled devices, orother suitable image-capturing devices capable of capturing imagesphotographically or electronically, and positioning information providedby, for example, a global positioning system and/or an inertialnavigation unit. These systems and devices are well known to thoseskilled in the art.

The image display and analysis software can be stored on anon-transitory computer readable medium and/or executed by the firstand/or the second computer systems 21 and 22 Software providinginstructions for displaying a pixel representation of image areavailable commercially and well known to those skilled in the art. Imagedisplay and analysis software can include methods for utilizing obliqueimages such as described in U.S. Pat. No. 7,787,659, the content ofwhich is incorporated herein by reference.

The computer readable mediums 30 a and/or 30 b includes, for example,non-volatile read only memory, random access memory, hard disk memory,removable memory cards and/or other suitable memory storage devicesand/or media. Input devices 26 a and 26 b, such as, for example, amouse, keyboard, joystick, or other such input device, enable the inputof data and interaction of a User with image display and analysissoftware being executed by the first and/or the second computer systems21 and 22. In one embodiment, the first computer system 21 executes theimage display and analysis software, and the second computer system 22executes a communication software package, such as a web browser, tocommunicate with the first computer system 21 and display thegeo-referenced images. An output device such as display device 28 a caninclude, for example, a liquid crystal display or cathode ray tube, anddisplays information to the User of the second computer system 22.Additional output devices 28 b can include a second display device,printer, speaker, etc. Communication connections 24 connect the secondcomputer system 22 to a network 32, such as, for example, a local-areanetwork, a wide-area network, the Internet and/or the World Wide Web forestablishing communication with the first computer system 21.

The second computer system 22 typically uses a computer monitor as adisplay device 28 a. These display devices often cannot display anentire image with the detail necessary. This may be due to theresolution of the information in the image and the resolution and sizeof the display surface. When a full image is not displayable on themonitor in its entirety, the displayable image which is substituted forthe full image is often a global image, i.e. the full image withresolution removed to allow the entire image to fit onto the displaysurface of the display device. Referring now to FIG. 3 and FIG. 4, toobtain the detail necessary to select a point of interest (POI),algorithms and software have been developed to allow the User to box outa sub-region or region of interest ROI 50 of a photograph or full image52 and zoom-in or enlarge that sub-region as a magnified region ofinterest MROI 54, thus allowing the User to select points and lines froman enlarged detail image with greater ease and accuracy.

The detail image or magnified region of interest MROI 54 shows thedetails of the region of interest ROI 50, but when shown alone theglobal contexts of the details are lost. Thus, in one embodiment,instructions and algorithms known to those skilled in the art areutilized for magnifying a user-requested region of interest (ROI) 50from the image 52 and displaying the full image or a portion thereof,along with a subsection of the display screen showing a linearmagnification of the user-requested ROI 50. This allows formagnification of a particular ROI in an image while preservingvisibility of the larger image as shown in FIG. 4.

In some applications, a non-linear magnification of the user-selectedROI 50 may be provided so that the connection between the detail imageand the immediately surrounding portion of the global image is notobscured. Such methods are also known to those skilled in the art. Whilenon-linear magnification creates a “lens” like distortion to theoriginal image, it still provides increased detail for the ROI 50 whilemaintaining the connection to the immediately surrounding portion of theglobal image.

The User typically interprets the image and decides which features areto be measured. By positioning, for example, a mouse cursor, theapproximate location of the features can be pointed out to an algorithm.Semi-automatic feature extraction is known to those skilled in the artand is used for measuring height points as well as for measuringspecific object corners. A User positions the cursor at some position inthe image 52 and the cursor snaps-to the desired surface or objectcorner. However, the image around this selected point will usuallycontain gray value gradients caused by the object edges. Thus thesnap-to feature may be limited by the size and quality of the pixels.

The extraction of lines from digital images has also been researched formany years. Semi-automatic algorithms have been developed, for example,for the extraction of roads. Most algorithms of this kind are based onso-called “snakes”. Extraction of objects like house roofs can beimproved by algorithms that extract homogeneous gray value. Thealgorithms used to find the boundaries of a homogeneous area are usuallybased on a “region growing algorithm”. A common interactive approach isto allow the User to select an appropriate object model, andapproximately align the object model with the image. A fitting algorithmcan then be used to find the best correspondence between edges of theobject model and the location of high gradients in the image.⁽¹⁾

In an embodiment of the present disclosure, the sequence of instructionsstored on at least one computer readable medium 30 a, 30 b and/orcomputer readable medium 55 of the first computer system 21 for runningon the first and/or second computer systems 21 and 22 capable ofdisplaying and navigating digital imagery includes instructions forperforming edge detection procedures on the user-requested region ofinterest and/or on the entire pixel representation of the image.Referring now to FIG. 5, detected edges 56 can include linear edges 58as well as curved edges 60. Edge detection is a tool in image processingwhich identifies discontinuities in a digital image such as points atwhich the image brightness or color changes sharply. Techniques,procedures and algorithms for edge detection are available commerciallyand known to those skilled in the art.

Referring now to FIG. 6, the sequence of instructions stored on thecomputer readable mediums 30 a, 30 b and/or 55 forms a process 98 asdiscussed below. The process 98 includes instructions for allowing theUser to interact with the magnified region of interest MROI 54 as shownin a step 100 to determine points of interest by moving the cursor overthe MROI 54. The User interaction can be accomplished with a mouse,touchpad, stylus or other means. Then the first and/or the secondcomputer systems 21 and 22 detect a cursor position as indicated at astep 102. Once the first and/or the second computer systems 21 and 22detects the cursor position, instructions cause the one or moreprocessor 23 to determine the distance between the cursor and a detectededge DE 56 at a step 104. If the distance is less than a predetermineddistance, for example, within 3 pixel lengths, the cursor is caused tosnap-to that detected edge DE 56 at a step 106. Snap-to algorithms areknown to those skilled in the art.

In an embodiment, instructions are provided at a step 108 to hold thecursor at the detected edge DE 56 until the User indicates acceptance orrejection of the detected edge DE 56 as an edge of interest EOI 110 at astep 112. Upon rejection, the cursor is allowed to move freely at a step114 and the process 98 branches to the step 100 until the cursorposition is detected again within a predetermined distance of the sameor another detected edge DE 56, at which point the cursor will againsnap-to the detected edge DE 56. Upon acceptance of the detected edge DE56 as an edge of interest EOI 110, the process 98 includes instructionsat a step 116 to indicate, mark and store the accepted edge of interestEOI 32 on the image 52 as shown, for example, in FIG. 8. Acceptance canbe indicated by any means of communication with the second computersystem 22, such as, for example, by clicking the mouse or by selecting“Accept” from an opened dialog box. Rejection can be indicated similarlyor by lack of acceptance for a specified time.

Referring now to FIG. 7, the sequence of instructions stored on thecomputer readable mediums 30 a, 30 b and/or 55 forms a process 118 asdiscussed below for proceeding once the User has accepted an edge ofinterest EOI 110. The process 118 includes instructions for allowing theUser to move the cursor along the edge of interest EOI 110 as in a step121 in order to select a point of interest POI 120. The first and/or thesecond computer systems 21 and 22 detects the cursor position, anddetermines whether the cursor is more or less than a predetermineddistance from the edge of interest EOI 110 as in a step 122. If thecursor has moved more than the predetermined distance from the edge ofinterest EOI 110, the process 118 branches back to step 100 in process98. If the cursor has moved less than the predetermined distance fromthe edge of interest EOI 110, the User may select a point of interestPOI 120 along the detected edge DE forming the edge of interest 110. Ata step 124 the User may select a point of interest POI 120 and accept orreject the POI by, for example, double clicking a mouse or by any meansof communication with the second computer system 22 as described abovefor accepting or rejecting the edge of interest EOI 110. If the point ofinterest POI 120 is rejected, the process 118 branches back to step 122.Upon acceptance of the point of interest POI 120, instructions areprovided in a step 126 to indicate, mark and store the accepted point ofinterest POI 120 on the image as shown, for example, in FIG. 8.

The User is then allowed to move the cursor in a step 128 in order toselect additional points of interest POI 120. The process 118 queriesthe User at a step 130 regarding whether all of the points of interestPOI 120 have been selected. The User can indicate by any means ofcommunication with the second computer system 22, such as, for example,by selecting “All Done” or “Continue” from an opened dialog box. Ifadditional points of interest POI 120 are desired, process 118 branchesback to step 100 of process 98 and additional points of interest POI 120can be identified using the procedure described above until the User hasselected all of the points of interest POI 120 necessary to perform adesired function. If in fact, the User has selected all the necessarypoints of interest POI 120, the User may select a function to beperformed or exit out of the magnified region of interest MROI 54 as ina step 132.

Often, the User takes measurements of and between objects depicted inthe image 52 by selecting one of several available measuring modesprovided within the image display and analysis software. The Userselects the desired measurement mode by accessing, for example, a seriesof pull-down menus or toolbars or via keyboard commands. The measuringmodes provided by image display and analysis software may include, forexample, a distance mode that enables measurement of the distancebetween two or more selected points, an area mode that enablesmeasurement of the area encompassed by several selected andinterconnected points, a height mode that enables measurement of theheight between two or more selected points, and an elevation mode thatenables the measurement of the change in elevation of one selected pointrelative to one or more other selected points.

After selecting the desired measurement mode, the User selects astarting point of interest POI 120 and an ending point of interest POI120′ on the image 52, and image display and analysis softwareautomatically calculates and displays the quantity sought. The accuracy,precision and consistency of these measurements depend in great part onthe procedure used to select the points of interest POI 120. Bycombining edge detection procedures with a snap-to function in amagnified region of interest, edges of interest can be identified andindividual points of interest along those edges can be selected in amuch more accurate and consistent manner than is currently available.

In one embodiment disclosed herein, edge detection procedures areperformed on the plurality of geo-referenced images to identify edgesand produce geo-referenced, edge-detected images which are saved in adatabase on one or more of the computer readable mediums 30 a, 30 b and55. Either the first and/or the second computer system 21 and 22 storingsuch a database of captured oblique images having correspondinggeo-location data and corresponding detected edge data, has computerexecutable logic that when executed by a processor causes the computersystems 21 and/or 22 to receive a selection of a geographic point from auser, search the database to find images that contain the selectedpoint, and make the images that contain the selected point available tothe user. Alternatively, the database may store captured oblique imageswithout the detected edge data, and the edges within such images can bedetected in real-time as the user is viewing the image(s) and/or whenthe MROI 54 is showing details of a region of interest 50.

As it will be appreciated by persons of ordinary skill in the art,changes may be made in the construction and the operation of the variouscomponents, elements and assemblies described herein or in the steps orthe sequence of steps of the methods described herein without departingfrom the spirit and scope of the inventive concept(s) disclosed herein.

From the above description, it is clear that the inventive concept(s)disclosed herein is well adapted to carry out the objects and to attainthe advantages mentioned herein as well as those inherent in theinventive concept(s) disclosed herein. While presently preferredembodiments of the inventive concept(s) disclosed herein have beendescribed for purposes of this disclosure, it will be understood thatnumerous changes may be made which will readily suggest themselves tothose skilled in the art and which are accomplished within the spirit ofthe inventive concept(s) disclosed and claimed herein.

REFERENCES

-   (1) George Vosselman, “Cartographic Feature Extraction”, Delft    University of Technology, Delft, The Netherlands.

What is claimed is:
 1. A method of providing images to a user,comprising the steps of: providing a sequence of instructions forstorage on at least one non-transitory computer readable medium and forrunning on a computer system capable of displaying and navigatingdigital imagery, the sequence of instructions comprising: instructionsfor causing the computer system to download and display a pixelrepresentation of one or more of the geo-referenced, edge-detectedimages, wherein the pixel representation includes one or more detectededges; instructions for causing the computer system to allow a user toselect one of the one or more detected edges by moving a cursor over thepixel representation, wherein the cursor is caused to snap-to a selecteddetected edge when the cursor is within a predetermined distance fromthe selected detected edge; instructions for causing the computer systemto allow the user to accept the selected detected edge as an edge ofinterest; and instructions for causing the computer system to allow theuser to determine and store a point of interest along the edge ofinterest; capturing image data and positional data corresponding to theimage data; storing a database of captured images having correspondinggeo-location data and corresponding detected edge data; receiving aselection of a geographic point from a user; searching the database tofind images that contain the selected geographic point; and making theimages that contain the selected geographic point available to the user.2. The method of claim 1, wherein the computer system comprises apersonal computer.
 3. The method of claim 1, wherein the sequence ofinstructions stored on at least one non-transitory computer readablemedium further comprises instructions for causing the computer system tomagnify a user-requested region of interest from the displayed pixelrepresentation of the geo-referenced image, and to allow the user toselect one of the one or more detected edges from within the magnifieduser-requested region of interest.
 4. The method of claim 1, wherein thesequence of instructions stored on at least one non-transitory computerreadable medium further comprises instructions for causing the computersystem to display, geolocate and make measurements based on the capturedimage data and positional data.
 5. The method of claim 1, wherein thecaptured image data are oblique images.
 6. The method of claim 1,wherein the sequence of instructions stored on at least onenon-transitory computer readable medium further comprises instructionsfor causing the computer system to display a magnification of auser-requested region of interest as a subsection of the pixelrepresentation such that a full image is displayed along with amagnified region of interest.
 7. The method of claim 6, wherein themagnification of the user-requested region of interest is linear.
 8. Themethod of claim 6, wherein the magnification of the user-requestedregion of interest is non-linear.
 9. The method of claim 1, wherein thesequence of instructions stored on at least one non-transitory computerreadable medium further comprises instructions for causing the computersystem to hold the cursor at the selected detected edge until the userhas indicated acceptance or rejection of the selected detected edge asan edge of interest.
 10. The method of claim 1, wherein the sequence ofinstructions stored on at least one non-transitory computer readablemedium further comprises instructions for causing the computer system toindicate, mark and store the edge of interest on the image.
 11. Themethod of claim 1, wherein the sequence of instructions stored on atleast one non-transitory computer readable medium further comprisesinstructions for causing the computer system to indicate, mark and storethe point of interest on the image.
 12. A sequence of instructionsstored on at least one non-transitory computer readable medium forrunning on a computer system capable of displaying and navigatingdigital imagery, the sequence of instructions comprising: instructionsfor causing the computer system to display a pixel representation of ageo-referenced, edge-detected image, wherein the pixel representationincludes one or more detected edges in the geo-referenced, edge-detectedimage; instructions for causing the computer system to allow the user toselect one of the one or more detected edges by moving a cursor over thepixel representation, wherein the cursor is caused to snap-to a selecteddetected edge when the cursor is within a predetermined distance fromthe selected detected edge; instructions for causing the computer systemto allow the user to accept the selected detected edge as an edge ofinterest; and instructions for causing the computer system to allow theuser to determine and store one or more points of interest along theedge of interest.
 13. The sequence of instructions stored on at leastone non-transitory computer readable medium as in claim 12, wherein thecomputer system comprises a personal computer.
 14. The sequence ofinstructions stored on at least one non-transitory computer readablemedium as in claim 12, further comprising instructions for causing thecomputer system to magnify a user-requested region of interest from thedisplayed pixel representation of the geo-referenced, edge-detectedimage, and to allow the user to select one of the one or more detectededges from within the magnified user-requested region of interest. 15.The sequence of instructions stored on at least one non-transitorycomputer readable medium as in claim 12, further comprising instructionsfor causing the computer system to display, geolocate and makemeasurements based on geo-referenced, edge-detected images.
 16. Thesequence of instructions stored on at least one non-transitory computerreadable medium as in claim 12, wherein the geo-referenced,edge-detected images comprise oblique images.
 17. The sequence ofinstructions stored on at least one non-transitory computer readablemedium as in claim 12, further comprising instructions for causing thecomputer system to display a magnification of a user-requested region ofinterest as a subsection of the pixel representation such that a fullimage is displayed along with a magnified region of interest.
 18. Thesequence of instructions stored on at least one non-transitory computerreadable medium as in claim 17, wherein the magnification of theuser-requested region of interest is linear.
 19. The sequence ofinstructions stored on at least one non-transitory computer readablemedium as in claim 17, wherein the magnification of the user-requestedregion of interest is non-linear.
 20. The sequence of instructionsstored on at least one non-transitory computer readable medium as inclaim 12, further comprising instructions for causing the computersystem to hold the cursor at the selected detected edge until the userhas indicated acceptance or rejection of the selected detected edge asan edge of interest.
 21. The sequence of instructions stored on at leastone non-transitory computer readable medium as in claim 12, furthercomprising instructions for causing the computer system to indicate,mark and store the edge of interest on the image.
 22. The sequence ofinstructions stored on at least one non-transitory computer readablemedium as in claim 12, further comprising instructions for causing thecomputer system to indicate, mark and store the one or more points ofinterest on the image.
 23. A system for preparing and utilizinggeo-referenced images, the system comprising: one or more image and datafiles accessible by a computer system capable of displaying andnavigating digital imagery, the image and data file including aplurality of image files, detected edge information corresponding to theplurality of image files, and positional data corresponding to theplurality of image files; and image display and analysis software storedon a non-transitory computer readable medium and executable by thecomputer system to cause the computer system to: allow a user todownload and display, from the image and data file, a pixelrepresentation of an image having a plurality of detected edges withinthe image, and to select a detected edge within the pixel representationby moving a cursor over the pixel representation, wherein the cursor iscaused to snap-to a selected detected edge when the cursor is within apredetermined distance from the selected detected edge; allow the userto accept the selected detected edge as an edge of interest; and allowthe user to determine and store one or more points of interest along theedge of interest.
 24. The system of claim 23, further comprising edgedetection software stored on a non-transitory computer readable mediumand executable by a computerized system to cause the computerized systemto perform edge detection procedures on a plurality of image files toprovide a plurality of edge-detected image files for storage on theimage and data file.
 25. The system of claim 23, wherein the computersystem comprises a personal computer.
 26. The system of claim 23,wherein the image display and analysis software includes instructionsfor causing the computer system to magnify a user-requested region ofinterest from the displayed pixel representation of the geo-referencedimage, and allow the user to select one of the one or more detectededges from within the magnified user-requested region of interest. 27.The system of claim 23, wherein the image display and analysis softwarefurther includes instructions for causing the computer system todisplay, geolocate and make measurements based on the image data andpositional data.
 28. The system of claim 27, wherein the image data areoblique images.
 29. The system of claim 23, wherein the image displayand analysis software further includes instructions for causing thecomputer system to display a magnification of a user-requested region ofinterest as a subsection of the pixel representation such that a fullimage is displayed along with a magnified region of interest.
 30. Thesystem of claim 29, wherein the magnification of the user-requestedregion of interest is linear.
 31. The system of claim 29, wherein themagnification of the user-requested region of interest is non-linear.32. The system of claim 23, wherein the image display and analysissoftware further includes instructions for causing the computer systemto hold the cursor at the selected detected edge until the user hasindicated acceptance or rejection of the selected detected edge as anedge of interest.
 33. The system of claim 23, wherein the image displayand analysis software further includes instructions for causing thecomputer system to indicate, mark and store the edge of interest on theimage.
 34. The system of claim 23, wherein the image display andanalysis software further includes instructions for causing the computersystem to indicate, mark and store the one or more points of interest onthe image.
 35. A sequence of instructions stored on at least onenon-transitory computer readable medium for running on a computer systemcapable of displaying and navigating digital imagery, the sequence ofinstructions comprising: instructions for magnifying a user-requestedregion of interest from a displayed pixel representation of an image;instructions for performing linear edge detection procedures on theuser-requested region of interest to identify one or more detectedlinear edges within the user-requested region of interest; andinstructions for allowing the user to select one of the one or moredetected linear edges within the user-requested region of interest bymoving a cursor over the magnified region of interest, wherein thecursor is caused to snap-to a selected detected linear edge when thecursor is within a predetermined distance from the selected detectedlinear edge; instructions for allowing the user to accept the selecteddetected linear edge as an edge of interest; and instructions forallowing the user to determine and store a point of interest along theedge of interest.
 36. The sequence of instructions stored on at leastone non-transitory computer readable medium as in claim 35, wherein thecomputer system is a personal computer.
 37. The sequence of instructionsstored on at least one non-transitory computer readable medium as inclaim 35, further comprising instructions for downloading and viewingone or more geo-referenced images.
 38. The sequence of instructionsstored on at least one non-transitory computer readable medium as inclaim 35, further comprising instructions for displaying, geolocatingand making measurements based on images.
 39. The sequence ofinstructions stored on at least one non-transitory computer readablemedium as in claim 38, wherein the imaged are oblique images.
 40. Thesequence of instructions stored on at least one non-transitory computerreadable medium as in claim 35, further comprising instructions fordisplaying a magnification of the user-requested region of interest as asubsection of the image such that a full image is displayed along with amagnified region of interest.
 41. The sequence of instructions stored onat least one non-transitory computer readable medium as in claim 40,wherein the magnification of the user-requested region of interest islinear.
 42. The sequence of instructions stored on at least onenon-transitory computer readable medium as in claim 40, wherein themagnification of the user-requested region of interest is non-linear.43. The sequence of instructions stored on at least one non-transitorycomputer readable medium as in claim 35, further comprising instructionsto hold the cursor at the selected detected linear edge until the userhas indicated acceptance or rejection of the selected detected linearedge as an edge of interest.
 44. The sequence of instructions stored onat least one non-transitory computer readable medium as in claim 35,further comprising instructions for indicating, marking and storing theedge of interest on the image.
 45. The sequence of instructions storedon at least one non-transitory computer readable medium as in claim 35,further comprising instructions for indicating, marking and storing thepoint of interest on the image.
 46. A sequence of instructions stored onat least one non-transitory computer readable medium for running on acomputer system capable of displaying and navigating oblique imagery,the sequence of instructions comprising: instructions for displaying apixel representation of a full image; instructions for magnifying auser-requested region of interest from the full image, wherein theregion of interest is a subset of the full image, wherein unmagnifiedsurrounding areas of the full image are still visible to the user, andwherein the user can interact with the magnified region of interest;instructions for performing linear edge detection procedures on themagnified region of interest to identify one or more detected linearedges within the region of interest; instructions for allowing the userto select one of the one or more detected linear edges within theuser-requested region of interest by moving a cursor over the magnifiedregion of interest, wherein the cursor is caused to snap-to a selecteddetected linear edge when the cursor is within a predetermined distancefrom the selected detected linear edge; instructions for allowing theuser to accept the selected detected linear edge as an edge of interest;instructions for allowing the user to determine, indicate, mark andstore at least one point of interest along the edge of interest; andinstructions for allowing the user to make measurements based upon theat least one point of interest.